// src/locales/types.ts
import enUS from './en-US.json'
import zhCN from './zh-CN.json'

// 核心类型推导
export type MessageSchema = typeof enUS

// 扩展插值函数类型
type DeepInterpolation<T> = {
  [K in keyof T]: T[K] extends object 
    ? DeepInterpolation<T[K]> 
    : T[K] extends string
      ? (T[K] extends `${string}{${string}}${string}`
         ? (params: Record<string, any>) => string
         : T[K])
      : T[K]
}

export type I18nTypedSchema = DeepInterpolation<MessageSchema>

// 语言代码类型约束
export type SupportedLocale = 'en-US' | 'zh-CN'